(PHP 4 >= 4.0.6, PHP 5)
array_filter — Filtra elementos de una matriz mediante una función "callback"
array_filter() repasa cada valor en la matriz input y lo pasa a la función callback . Si la función callback devuelve verdadero, el valor es devuelto a la matriz resultado. Los índices de la matriz se mantienen.
Example #1 Ejemplo de array_filter()
<?php
function impar($var) {
return ($var % 2 == 1);
}
function par($var) {
return ($var % 2 == 0);
}
$array1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array (6, 7, 8, 9, 10, 11, 12);
echo "Impares :\n";
print_r(array_filter($array1, "impar"));
echo "Pares:\n";
print_r(array_filter($array2, "par"));
?>
La salida en pantalla del programa anterior será:
Impares :
Array
(
[a] => 1
[c] => 3
[e] => 5
)
Pares:
Array
(
[0] => 6
[2] => 8
[4] => 10
[6] => 12
)
No se debe modificar la matriz a la que array_filter() se aplica desde la función "callback", como p. ej. añadir o eliminar un elemento, o realizar un "unset()". Si la matriz es modificada el comportamiento de esta función no está definido.
Ver también array_map(), array_reduce(), y array_walk().